package com.qfedu.mtl.util.web;

import java.lang.reflect.Method;

/**
 * 处理器信息封装类
 * 理解：一个请求对应一个处理器，处理器就是处理请求的角色，它就是一个方法。
 * 为了方便管理，通常一个模块的全部请求处理器(方法)，写在一个类中，这个类就是控制器类Controller。
 *
 * 我们可以对处理器做一个抽象：它应该包含：
 * 1.处理器方法，所在类Controller的对象Class，用来反射创建处理器实例
 * 2.处理器方法对象， 一个Method熟悉，用来指代处理器方法。
 * 3.处理的请求url路径，用来匹配前端请求。
 */
public class HandlerInfo {

    private Class<?> cls;
    private Method method;
    private String url;

    public Class<?> getCls() {
        return cls;
    }

    public void setCls(Class<?> cls) {
        this.cls = cls;
    }

    public Method getMethod() {
        return method;
    }

    public void setMethod(Method method) {
        this.method = method;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    @Override
    public String toString() {
        return "HandlerInfo{" +
                "cls=" + cls +
                ", method=" + method +
                ", url='" + url + '\'' +
                '}';
    }
}
